// 工具函数，用于组织多个reducer，并返回reducer集合
import { combineReducers } from 'redux';
// 默认值
import defaultState from './state/state.js';

// 一个reducer就是一个函数
function openDrawer(state = defaultState.openDrawer, action) {
  // 不同的action有不同的处理逻辑
  switch (action.type) {
    case 'OPEN_DRAWER':
      return action.data;
    default:
      return state;
  }
}
// 一个reducer就是一个函数
function componentList(state = defaultState.componentList, action) {
  // 不同的action有不同的处理逻辑
  switch (action.type) {
    case 'COMPONET_LIST':
      return action.data;
    default:
      return state;
  }
}

function componentTypeList(state = defaultState.componentTypeList, action) {
  // 不同的action有不同的处理逻辑
  switch (action.type) {
    case 'COMPONET_TYPE_LIST':
      return action.data;
    default:
      return state;
  }
}

function optionType(state = defaultState.optionType, action) {
  // 不同的action有不同的处理逻辑
  switch (action.type) {
    case 'CHANGE_OPTION_TYPE':
      return action.data;
    default:
      return state;
  }
}
function editItem(state = defaultState.editItem, action) {
  // 不同的action有不同的处理逻辑
  switch (action.type) {
    case 'CHANGE_EDIT_ITEM':
      return action.data;
    default:
      return state;
  }
}


// 导出所有reducer
export default combineReducers({
  openDrawer,
  componentList,
  componentTypeList,
  optionType,
  editItem
});
